/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package co.gov.minagricultura;

import java.io.Serializable;
import java.math.BigInteger;
import java.util.Collection;
import javax.persistence.*;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlTransient;

/**
 *
 * @author leonardo.bravo
 */
@Entity
@Table(name = "Sipsa_ProductosDiarios")
@XmlRootElement
@NamedQueries({
    @NamedQuery(name = "SipsaProductosDiarios.findAll", query = "SELECT s FROM SipsaProductosDiarios s"),
    @NamedQuery(name = "SipsaProductosDiarios.findByCodigoProductoProductosDiarios", query = "SELECT s FROM SipsaProductosDiarios s WHERE s.codigoProductoProductosDiarios = :codigoProductoProductosDiarios"),
        @NamedQuery(name = "SipsaProductosDiarios.findByNombreProductoProductosDiarios", query = "SELECT s FROM SipsaProductosDiarios s WHERE s.nombreProductoProductosDiarios = :nombreProductoProductosDiarios"),
       
        @NamedQuery(name = "SipsaProductosDiarios.findCodProductoByNombreProductoDiarios", query = "SELECT s.codigoProductoProductosDiarios FROM SipsaProductosDiarios s WHERE s.nombreProductoProductosDiarios = :nombreProductoProductosDiarios" ),
    
        @NamedQuery(name = "SipsaProductosDiarios.findByCodProductoGralProductosDiarios", 
        query = "SELECT s FROM SipsaProductosDiarios s WHERE s.codProductoGralProductosDiarios = :codProductoGralProductosDiarios"),
    @NamedQuery(name = "SipsaProductosDiarios.findByCodigoProductoanterior", query = "SELECT s FROM SipsaProductosDiarios s WHERE s.codigoProductoanterior = :codigoProductoanterior")})
public class SipsaProductosDiarios implements Serializable {
    @Column(name = "estado")
    private String estado;
    private static final long serialVersionUID = 1L;
    @Id
    @Basic(optional = false)
    @Column(name = "codigoProducto_ProductosDiarios")
    private Long codigoProductoProductosDiarios;
    @Column(name = "nombreProducto_ProductosDiarios")
    private String nombreProductoProductosDiarios;
    @Column(name = "codProductoGral_ProductosDiarios")
    private String codProductoGralProductosDiarios;
    @Column(name = "codigoProducto_anterior")
    private BigInteger codigoProductoanterior;
    @OneToMany(cascade = CascadeType.ALL, mappedBy = "sipsaProductosDiarios")
    private Collection<SipsaDiario> sipsaDiarioCollection;

    public SipsaProductosDiarios() {
    }

    public SipsaProductosDiarios(Long codigoProductoProductosDiarios) {
        this.codigoProductoProductosDiarios = codigoProductoProductosDiarios;
    }

    public Long getCodigoProductoProductosDiarios() {
        return codigoProductoProductosDiarios;
    }

    public Long getCodigoProductoProductosDiariosByName(String nombre) {
        return codigoProductoProductosDiarios;
    }


    public void setCodigoProductoProductosDiarios(Long codigoProductoProductosDiarios) {
        this.codigoProductoProductosDiarios = codigoProductoProductosDiarios;
    }

    public String getNombreProductoProductosDiarios() {
        return nombreProductoProductosDiarios;
    }

    public void setNombreProductoProductosDiarios(String nombreProductoProductosDiarios) {
        this.nombreProductoProductosDiarios = nombreProductoProductosDiarios;
    }

    public String getCodProductoGralProductosDiarios() {
        return codProductoGralProductosDiarios;
    }

    public void setCodProductoGralProductosDiarios(String codProductoGralProductosDiarios) {
        this.codProductoGralProductosDiarios = codProductoGralProductosDiarios;
    }

    public BigInteger getCodigoProductoanterior() {
        return codigoProductoanterior;
    }

    public void setCodigoProductoanterior(BigInteger codigoProductoanterior) {
        this.codigoProductoanterior = codigoProductoanterior;
    }

    @XmlTransient
    public Collection<SipsaDiario> getSipsaDiarioCollection() {
        return sipsaDiarioCollection;
    }

    public void setSipsaDiarioCollection(Collection<SipsaDiario> sipsaDiarioCollection) {
        this.sipsaDiarioCollection = sipsaDiarioCollection;
    }

    @Override
    public int hashCode() {
        int hash = 0;
        hash += (codigoProductoProductosDiarios != null ? codigoProductoProductosDiarios.hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object object) {
        // TODO: Warning - this method won't work in the case the id fields are not set
        if (!(object instanceof SipsaProductosDiarios)) {
            return false;
        }
        SipsaProductosDiarios other = (SipsaProductosDiarios) object;
        if ((this.codigoProductoProductosDiarios == null && other.codigoProductoProductosDiarios != null) || (this.codigoProductoProductosDiarios != null && !this.codigoProductoProductosDiarios.equals(other.codigoProductoProductosDiarios))) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return "co.gov.minagricultura.SipsaProductosDiarios[ codigoProductoProductosDiarios=" + codigoProductoProductosDiarios + " ]";
    }

    public String getEstado() {
        return estado;
    }

    public void setEstado(String estado) {
        this.estado = estado;
    }
    
}
